#include "stdafx.h"

#define MAX_tstringBUF (1024)
///////////////////////////////////////////////////////////////////////////////
// Format tstring

string vformat(LPCSTR fmt, va_list vl) 
{
	CHAR buf[MAX_tstringBUF + 1];
	int nBuf = _vsnprintf_s(buf, MAX_tstringBUF, fmt, vl);
	ASSERT(nBuf >= 0);
	if(nBuf < 0)
		buf[MAX_tstringBUF] = 0;
	return string(buf);
}

wstring vformat(LPCWSTR fmt, va_list vl) 
{
	WCHAR buf[MAX_tstringBUF + 1];
	int nBuf = _vsnwprintf_s(buf, MAX_tstringBUF, fmt, vl);
	ASSERT(nBuf >= 0);
	if(nBuf < 0)
		buf[MAX_tstringBUF] = 0;
	return wstring(buf);
}

string format(LPCSTR fmt, ...) 
{
	va_list vl;
	va_start(vl, fmt);
	string ret = vformat(fmt, vl);
	va_end(vl);
	return ret;
}

wstring format(LPCWSTR fmt, ...) 
{
	va_list vl;
	va_start(vl, fmt);
	wstring ret = vformat(fmt, vl);
	va_end(vl);
	return ret;
}